//简单选择排序
#pragma once
//简单选择排序
template <typename E>
void SelectionSort(E a[], int n)
{
    for (int i = 0; i < n-1; i++)
    {
        //从a[i..n-1] 中选出最小的元素a[k]
        int k = i;
        int j;
        for (j = i + 1; j < n; j++)
            if (a[j] < a[k])
                k = j;
        //交换a[i]和a[k]
        if (k != i)
            std::swap(a[i], a[k]);
    }
}